home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
TPUG - Toronto PET Users Group
/
TPUG Users Group CD
/
TPUG Users Group CD.iso
/
COMAL
/
Z-Misc Series
/
(k)zk.d64
/
fnc.ffloat$
< prev
next >
Wrap
Text File
|
2007-03-01
|
1KB
|
63 lines
0010 // ─┼╠┼╘┼ "FNC.FFLOAT$"
0020 // ╠╔╙╘ "FNC.FFLOAT$"
0030
0040 // BY ─ICK ╦LINGENS
0050 // ─UTCH ├╧═┴╠ ╒SERS ╟ROUP
0060 // DEC86
0070
0080 ╞╒╬├ FFLOAT$(NUMBER,N) ├╠╧╙┼─
0090 MAXDEC:=8
0100 ╔╞ N<1 ╧╥ N>MAXDEC ╘╚┼╬ ╥┼╨╧╥╘ 1
0110
0120 ─╔═ F$ ╧╞ 1+1+1+N+1+3
0121 //
0130 // 1 : SIGN (OR SPACE)
0140 // 1 : INTEGER PART
0150 // 1 : DECIMAL POINT
0160 // N : DECIMAL PART
0170 // 1 : 'E'
0180 // 3 : SIGNED EXPONENT
0190
0200 SIGNUM:=╙╟╬(NUMBER)
0210 NUMBER:=┴┬╙(NUMBER)
0220
0230 ╔╞ NUMBER>0 ╘╚┼╬
0240 EXPON:=╔╬╘(╠╧╟(NUMBER)/╠╧╟(10))
0250 ┼╠╙┼
0260 EXPON:=0
0270 ┼╬─╔╞
0280
0290 NUMBER:=NUMBER/(10^EXPON)
0300 SIGEX:=╙╟╬(EXPON)
0310 EXPON:=┴┬╙(EXPON)
0320
0330 FACT:=10^N
0340 NUMBER:=╔╬╘(NUMBER*FACT+.5)/FACT
0350
0360 F$:=╙╘╥$(NUMBER)
0370
0380 ╔╞ ╬╧╘ "." ╔╬ F$ ╘╚┼╬ F$:=F$+"."
0390
0400 ╔╞ SIGNUM=-1 ╘╚┼╬
0410 F$:="-"+F$
0420 ┼╠╙┼
0430 F$:=" "+F$
0440 ┼╬─╔╞
0450
0460 ╫╚╔╠┼ ╠┼╬(F$)<3+N ─╧
0470 F$:=F$+"0"
0480 ┼╬─╫╚╔╠┼
0490
0500 F$:=F$+"E"
0510
0520 ╔╞ SIGEX=-1 ╘╚┼╬
0530 F$:=F$+"-"
0540 ┼╠╙┼
0550 F$:=F$+"+"
0560 ┼╬─╔╞
0570
0580 F$:=F$+╙╘╥$(100+EXPON)(2:3)
0590
0600 ╥┼╘╒╥╬ F$
0610 ┼╬─╞╒╬├ FFLOAT$